package com.demo.backtemplate.service;

import com.demo.backtemplate.models.dto.RegisterDTO;
import com.xlf.utility.BaseResponse;
import com.demo.backtemplate.models.dto.LoginDTO;
import com.demo.backtemplate.models.dto.UserDTO;
import org.springframework.http.ResponseEntity;


/**
 * 用户服务接口
 */
public interface UserService {
    /**
     * 用户登录
     *
     * @param loginDTO 登录请求数据
     * @return 登录结果响应
     */
    ResponseEntity<BaseResponse<UserDTO>> login(LoginDTO loginDTO);

    /**
     * 获取当前登录用户信息
     *
     * @return 用户信息
     */
    ResponseEntity<BaseResponse<UserDTO>> getUserInfo();

    /**
     * 用户登出
     *
     * @return 登出结果
     */
    ResponseEntity<BaseResponse<Void>> logout();

    /**
     * 用户注册
     *
     * @param registerDTO 注册请求数据
     * @return 注册结果响应
     */
    ResponseEntity<BaseResponse<Void>> register(RegisterDTO registerDTO);
}